package cn.fanqinghong.system.listener;

import cn.fanqinghong.system.service.IPermissionScanService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.annotation.WebListener;

/**
 * FAN
 * 2022/6/22  9:39
 */
@WebListener//申明自定义的web监听器，被容器注册和使用
@Slf4j
public class PermissionScanListener implements ServletContextListener {
    @Autowired
    private IPermissionScanService permissionScanService;

    /**
     * Spring容器装载完成，执行此方法
     * @param sce
     */
    @Override
    public void contextInitialized(ServletContextEvent sce) {
        // 我们则个位置实在Spring项目启动的过程中执行的，如果我们的业务很耗时间，那么会直接拖慢
        // 整个项目的启动时间---解决方案：开启异步线程执行我们的业务，不影响进程启动
        new Thread(new Runnable() {
            @Override
            public void run() {
                permissionScanService.scan();
            }
        }).start();//开启异步线程

    }





















}
